#include <iostream>
using std::cout;
using std::endl;

void print();
void print();
void print();
void print();
void print();
void print();

void print(){
    cout << "print()" << endl;
}
//函数是可以声明多次，但是只能定义一次
/* void print(){ */
/*     cout << "print()" << endl; */
/* } */

//命名空间可以定义多次
//同名的命名空间中要注意避免实体名称冲突
//命名空间中只进行声明（声明时可以初始化，也可以不初始化）
//不能进行赋值等其他操作
namespace wd
{
int number = 1;
/* number = 3; */
void print(){
    cout << "wd::print()" << endl;
}
}

namespace wd
{
int number2;
void print2(){
    cout << "wd::print2()" << endl;
}
}

void test0(){
    //在命名空间之外访问命名空间中的实体时
    //可以去对它们做其他操作
    wd::number2 = 100;
    wd::number = 200;
    cout << wd::number2 << endl;
    cout << wd::number << endl;
}

int main(void){
    test0();
    return 0;
}
